#include<bits/stdc++.h>
#define sd(n) scanf("%d",&n) 
#define sld(n) scanf("%lld",&n)
#define pd(n) printf("%d", (n))
#define pld(n) printf("%lld", n)
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fi first
#define se second
const int N=1e5;
#define INF 0x7fffffff
typedef long long int ll;
using namespace std;
//----------------------------------------------------------------------------//
int a[N+10];
void solve()
{
	int n,k;
	sd(n);sd(k);
	for(int i=1;i<=n;i++) sd(a[i]);

	int l=max(1,n-2*k);
	
	ll ans=-1e12;

	for(ll i=l;i<=n;i++)
	{
		for(ll j=i+1;j<=n;j++)
		{
			int cur=(a[i] | a[j]);
			ans=max(ans, 1L * i * j - 1L * k * (ll)cur);
		}
	}

	pld(ans);
	puts("");
}

int main()
{
	int T;
	sd(T);
	while (T--)
	{
		solve();
	}
	return 0;
}